// 封装分类数据相关逻辑
import { ref } from 'vue'
import { useRoute } from 'vue-router'
import { onBeforeRouteUpdate } from 'vue-router'
import { getCategoryAPI } from '@/apis/category'

export function useCategory() {
    const categoryData = ref({})

    // 获取路由参数id
    const route = useRoute()

    const getCategory = async (id = route.params.id) => {
        const res = await getCategoryAPI(id)
        categoryData.value = res.result
    }
    getCategory()

    // 目标：路由参数变化的时候，只重新发送分类数据请求
    onBeforeRouteUpdate((to) => {
        console.log('路由参数变化了')
        // 问题：使用最新的路由参数请求最新的分类数据
        console.log(to)
        getCategory(to.params.id)
    })

    return {
        categoryData
    }

}